Message Store Configuration এবং File Management

Java Technologies - অ্যাপাচি অ্যাকটিভএমকিউ (Apache ActiveMQ) Persistence এবং Message Store Management |
158
158

অ্যাপাচি অ্যাকটিভএমকিউ (Apache ActiveMQ) একটি শক্তিশালী মেসেজ ব্রোকার সিস্টেম, যা মেসেজ সঞ্চালনের জন্য বিভিন্ন কনফিগারেশন এবং ফাইল ব্যবস্থাপনা সমর্থন করে। Message Store কনফিগারেশন এবং File Management সিস্টেমের কার্যকারিতা এবং ডেটা নিরাপত্তা নিশ্চিত করতে গুরুত্বপূর্ণ ভূমিকা পালন করে। এটি মেসেজগুলিকে স্টোর এবং ম্যানেজ করার পদ্ধতি নিয়ন্ত্রণ করে, বিশেষ করে যখন সিস্টেমটি ডিস্ট্রিবিউটেড থাকে বা লোড বেশি থাকে।

Message Store Configuration

অ্যাপাচি অ্যাকটিভএমকিউ-এর Message Store কনফিগারেশন দ্বারা মেসেজ সঞ্চয় করার জন্য ব্যবহৃত ফাইল সিস্টেম বা ডাটাবেস নির্ধারণ করা হয়। এটি নিশ্চিত করে যে ব্রোকারের মধ্যে মেসেজ হারানো না যায় এবং মেসেজগুলি নিরাপদে সংরক্ষিত থাকে। অ্যাকটিভএমকিউ বিভিন্ন ধরনের স্টোরেজ সমর্থন করে, যেমন KahaDB, JDBC, LevelDB, ইত্যাদি।

1. KahaDB (Default Message Store)

KahaDB অ্যাকটিভএমকিউ-এর ডিফল্ট মেসেজ স্টোর এবং এটি একটি উচ্চ পারফরম্যান্স স্টোরেজ ব্যবস্থা হিসেবে ব্যবহৃত হয়। এটি একটি ফাইল-ভিত্তিক স্টোরেজ যা মেসেজগুলি একটি ডিস্কে সংরক্ষণ করে এবং এটি স্ট্রাকচারড ডেটা সঞ্চয় করতে সক্ষম।

  • KahaDB কনফিগারেশন:
    • kahadb দ্বারা ব্যবহৃত স্টোরেজ সিস্টেমের ডিরেক্টরি ও ফাইলের অবস্থান কনফিগার করা হয়।
    • KahaDB ফাইলগুলো ছোট অংশে বিভক্ত করা হয়, এবং যখন মেসেজ সার্ভারের মধ্যে প্রেরিত হয় তখন এটি আপডেট হয়।
<broker xmlns="http://activemq.apache.org/schema/core"
        brokerName="localhost"
        dataDirectory="${activemq.data}">
    
    <!-- Configuring KahaDB as message store -->
    <persistenceAdapter>
        <kahaDB directory="${activemq.data}/kahadb"/>
    </persistenceAdapter>
    
    <transportConnectors>
        <transportConnector uri="tcp://localhost:61616"/>
    </transportConnectors>
</broker>

এই কনফিগারেশন কাহা ডাটাবেস ব্যবহারের জন্য মেসেজগুলো সংরক্ষণ করতে সক্ষম হয়, এবং এগুলো activemq.data/kahadb ডিরেক্টরিতে সেভ হয়।

2. JDBC Message Store

অ্যাকটিভএমকিউ একটি JDBC ভিত্তিক মেসেজ স্টোর সমর্থন করে, যা ডেটাবেসে মেসেজ সঞ্চয় করে। যখন KahaDB ব্যবহৃত না হয়, তখন একটি রিলেশনাল ডাটাবেস যেমন MySQL, PostgreSQL, বা Oracle ব্যবহার করে মেসেজ সঞ্চয় করা যেতে পারে।

  • JDBC কনফিগারেশন: JDBC মেসেজ স্টোর ব্যবহারের জন্য অ্যাকটিভএমকিউ JDBC ডাটাবেসের কনফিগারেশন সেট করতে হয়।
<broker xmlns="http://activemq.apache.org/schema/core"
        brokerName="localhost"
        dataDirectory="${activemq.data}">
    
    <!-- Configuring JDBC as message store -->
    <persistenceAdapter>
        <jdbcPersistenceAdapter dataSource="#myDataSource"/>
    </persistenceAdapter>
    
    <dataSources>
        <bean id="myDataSource" class="org.apache.commons.dbcp2.BasicDataSource">
            <property name="driverClassName" value="com.mysql.cj.jdbc.Driver"/>
            <property name="url" value="jdbc:mysql://localhost:3306/activemq"/>
            <property name="username" value="root"/>
            <property name="password" value="password"/>
        </bean>
    </dataSources>

    <transportConnectors>
        <transportConnector uri="tcp://localhost:61616"/>
    </transportConnectors>
</broker>

এখানে myDataSource নামক ডেটাবেসের সংযোগ সেট করা হয়েছে, যেখানে মেসেজগুলি সঞ্চিত হবে।

3. LevelDB Message Store

LevelDB একটি কী-ভ্যালু ডাটাবেস সিস্টেম, যা অ্যাকটিভএমকিউ-তে মেসেজ স্টোর হিসেবে ব্যবহৃত হতে পারে। এটি ডিস্ক-ভিত্তিক এবং উচ্চ পারফরম্যান্স সরবরাহ করে।

  • LevelDB কনফিগারেশন:
<broker xmlns="http://activemq.apache.org/schema/core"
        brokerName="localhost"
        dataDirectory="${activemq.data}">
    
    <!-- Configuring LevelDB as message store -->
    <persistenceAdapter>
        <levelDB directory="${activemq.data}/leveldb"/>
    </persistenceAdapter>
    
    <transportConnectors>
        <transportConnector uri="tcp://localhost:61616"/>
    </transportConnectors>
</broker>

এখানে LevelDB সিস্টেমে মেসেজ স্টোর করা হচ্ছে এবং activemq.data/leveldb ফোল্ডারে সেভ হবে।


File Management

অ্যাকটিভএমকিউ-এ মেসেজ ফাইল ব্যবস্থাপনা গুরুত্বপূর্ণ ভূমিকা পালন করে, কারণ এটি ডেটা সংরক্ষণ এবং সিস্টেম পারফরম্যান্সে প্রভাব ফেলে। বিভিন্ন ফাইল ম্যানেজমেন্ট কনফিগারেশন ব্যবহারের মাধ্যমে মেসেজ সঞ্চালন এবং সংরক্ষণ প্রক্রিয়া নিয়ন্ত্রণ করা যায়।

1. Persistent and Non-Persistent Messages

  • Persistent Messages: যখন মেসেজগুলি persistent মোডে পাঠানো হয়, তখন তা স্টোরেজে সংরক্ষিত হয়, যাতে সিস্টেম পুনরায় চালু হলে মেসেজগুলি হারানো না যায়। এটি সাধারণত KahaDB বা JDBC স্টোরেজ ব্যবহারের সময় সক্রিয় থাকে।
  • Non-Persistent Messages: যদি মেসেজগুলি non-persistent হয়, তবে সেগুলি কেবলমাত্র মেমোরিতে রাখবে এবং সিস্টেম ক্র্যাশ হলে হারিয়ে যেতে পারে।
<destinationPolicy>
    <policyMap>
        <policyEntries>
            <policyEntry queue=">" persistent="true"/>
        </policyEntries>
    </policyMap>
</destinationPolicy>

2. Message Size and File Management

অ্যাকটিভএমকিউ মেসেজ ফাইল ব্যবস্থাপনার জন্য মেসেজের আকার নির্ধারণ করতে পারে, যেমন অতিরিক্ত বড় মেসেজ কিউতে রাখার আগে চেক করা। কিউ এবং টপিকের স্টোরেজ আকার সীমিত করতে, আপনি memoryLimit এবং maxMessageSize প্রপার্টি সেট করতে পারেন।

<destinationPolicy>
    <policyMap>
        <policyEntries>
            <policyEntry queue=">" memoryLimit="104857600" maxMessageSize="2097152"/>
        </policyEntries>
    </policyMap>
</destinationPolicy>

এখানে:

  • memoryLimit দ্বারা কিউটির সর্বোচ্চ মেমরি সীমা নির্ধারণ করা হয়।
  • maxMessageSize দ্বারা মেসেজের সর্বোচ্চ আকার নির্ধারণ করা হয়।

সারাংশ

  • Message Store Configuration: অ্যাপাচি অ্যাকটিভএমকিউ বিভিন্ন ধরনের মেসেজ স্টোর সমর্থন করে, যেমন KahaDB, JDBC, এবং LevelDB, যা মেসেজ সঞ্চালন এবং সংরক্ষণ নিশ্চিত করে।
  • File Management: ফাইল ব্যবস্থাপনা কনফিগারেশন দ্বারা মেসেজ স্টোরের সিস্টেম কার্যকারিতা এবং পারফরম্যান্স নিয়ন্ত্রণ করা হয়, যেমন মেসেজ সাইজ, মেমরি সীমা, এবং persistent/non-persistent মেসেজ।
  • Persistent এবং Non-Persistent Messages: Persistent মেসেজগুলি ডাটাবেসে বা ডিস্কে সংরক্ষিত হয়, যা সিস্টেম রিস্টার্টের পরও পাওয়া যায়। Non-persistent মেসেজগুলি দ্রুত মেমোরিতে প্রক্রিয়া হয় এবং সিস্টেম ক্র্যাশ হলে হারিয়ে যেতে পারে।

এই কনফিগারেশন এবং ফাইল ব্যবস্থাপনা অ্যাপাচি অ্যাকটিভএমকিউ-এর কার্যক্ষমতা এবং নির্ভরযোগ্যতা নিশ্চিত করতে সহায়তা করে।

common.content_added_by
টপ রেটেড অ্যাপ

স্যাট অ্যাকাডেমী অ্যাপ

আমাদের অল-ইন-ওয়ান মোবাইল অ্যাপের মাধ্যমে সীমাহীন শেখার সুযোগ উপভোগ করুন।

ভিডিও
লাইভ ক্লাস
এক্সাম
ডাউনলোড করুন
Promotion